home *** CD-ROM | disk | FTP | other *** search
/ 64'er 1984 November / 64er_Magazin_84-11_1984_Markt__Technik_de.d64 / exsort demo (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  3KB  |  118 lines

  1. 0 ifk=0thenk=1:load"exsort?",8,1:rem laden von exsort
  2. 1 sys49400:rem starten von exsort
  3. 100 rem ***********************
  4. 110 rem ***   exsort demo   ***
  5. 120 rem ***********************
  6. 130 rem
  7. 140 rem ******************
  8. 150 rem * 1.befehl: "so" *
  9. 160 rem ******************
  10. 165 print"[147][197]rster [194]efehl: 'so'"
  11. 170 input"[218]ahl der zu sortierenden [197]lemente";a
  12. 175 print"[193]nfuellen des [198]eldes 'za' mit [218]ufalls-    zahlen"
  13. 180 dimza(a)
  14. 190 rem *** das feld za wird mit zufallszahlen belegt ***
  15. 200 fors=1toa
  16. 210 :za(s)=rnd(1)*10000-5000
  17. 220 nexts
  18. 230 it=ti:rem zeit speichern
  19. 240 print"[211]ortierbeginn"
  20. 250 rem
  21. 260 rem *** aufruf des befehls "so" ***
  22. 270 so,za,1,a,1
  23. 280 rem   so   =   befehl
  24. 290 rem   za   =   feldname
  25. 300 rem   1    =   anfangsindex
  26. 310 rem   a    =   endindex
  27. 320 rem   1    =   sortierungsrichtung(aufsteigend)
  28. 330 rem
  29. 340 it=ti-it
  30. 350 print"[211]ortierende"
  31. 355 fors=1to1000:nexts
  32. 360 rem *** ausgabe der sortierten elemente ***
  33. 370 fors=1toa
  34. 380 :prints,tab(6)za(s)
  35. 390 nexts
  36. 400 print"[218]eit:"it/60"sec"
  37. 410 print"bitte [212]aste druecken"
  38. 420 gett$:ift$=""then420
  39. 430 rem
  40. 440 rem ******************
  41. 450 rem * 2.befehl: "se" *
  42. 460 rem ******************
  43. 470 rem
  44. 480 clr:dimfe$(10000)
  45. 485 print"[147][218]weiter [194]efehl 'se'"
  46. 490 rem ** in 50 beliebige elemente  **
  47. 500 rem ** des feldes fe$ wird das   **
  48. 510 rem ** wort "hallo" geschrieben  **
  49. 520 rem
  50. 525 print"[201]n 50 beliebige [197]lemente von fe$ wird   'hallo' geschrieben"
  51. 530 fors=1to50
  52. 540 :fe$(rnd(1)*10000)="hallo"
  53. 550 nexts
  54. 560 print"[201]n folgendem elementen steht 'hallo':"
  55. 570 rem
  56. 580 rem ** ausdrucken jedes indexes **
  57. 590 rem ** in dem "hallo" steht     **
  58. 600 rem
  59. 610 in=-1:it=ti
  60. 620 rem ** aufruf des befehls "se" **
  61. 630 se,fe$,in+1,10000,"hallo"
  62. 640 rem  se      =   befehl
  63. 650 rem  fe$     =   feldname
  64. 660 rem  in+1    =   anfangsindex
  65. 670 rem  10000   =   endindex
  66. 680 rem  "hallo" =   element
  67. 690 rem ** bei rueckkehr aus "se"  **
  68. 700 rem ** enthaelt "in" den index **
  69. 710 rem ** oder (wenn das element  **
  70. 720 rem ** nicht gefunden wurde)   **
  71. 730 rem ** den wert -1             **
  72. 740 ifin=-1orin=10000then760
  73. 750 printin,:goto630
  74. 760 print:print"[218]eit:"(ti-it)/60"sec"
  75. 770 print"bitte [212]aste druecken"
  76. 780 gett$:ift$=""then780
  77. 790 rem
  78. 800 rem ****************************
  79. 810 rem * 1.befehl 'so' mit option *
  80. 820 rem ****************************
  81. 830 rem
  82. 835 print"[147][197]rster [194]efehl mit option"
  83. 840 datanull,zwei,vier,sechs,acht,zehn,eins,drei,fuenf,sieben,neun
  84. 850 data0,2,4,6,8,10,1,3,5,7,9
  85. 860 clr:dimnr(10),nr$(10)
  86. 870 rem ** einlesen in feld nr$ **
  87. 880 fors=0to10
  88. 890 :readx$:nr$(s)=x$
  89. 900 nexts
  90. 910 rem ** einlesen in feld nr  **
  91. 920 fors=0to10
  92. 930 :readx:nr(s)=x
  93. 940 nexts
  94. 950 rem ** ausgabe feld vor sortierung **
  95. 960 print"[201]ndex nr$ vorher nr * nr$ nachher nr"
  96. 970 fors=0to10
  97. 980 :prints;tab(6)nr$(s)tab(16)nr(s)
  98. 990 nexts
  99. 1000 rem ** aufruf des befehl "so" mit option **
  100. 1010 so,nr$,0,10,0,nr
  101. 1020 rem so   =   befehl
  102. 1030 rem nr$  =   feldname 1
  103. 1040 rem 0    =   anfangsindex
  104. 1050 rem 10   =   endindex
  105. 1060 rem 0    =   sortierungsrichutng(absteigend)
  106. 1070 rem nr   =   feldname 2
  107. 1080 rem
  108. 1090 print"[211]ortieren von nr$ absteigend"
  109. 1095 print"nr wird entsprechend mitsortiert"
  110. 1097 print"bitte [212]aste druecken"
  111. 1098 gett$:ift$=""then1098
  112. 1100 rem ** ausgabe feld nach sortierung **
  113. 1110 print"";
  114. 1120 fors=0to10
  115. 1130 :printtab(22)nr$(s)tab(33)nr(s)
  116. 1140 nexts
  117. 1150 print""
  118.